1. Field of the Invention
The present invention relates to an integrated circuit (IC) having circuitry with programmable functions and programmable interconnections. More specifically, the present invention relates to a method and apparatus for converting to and from variable-width data paths.
2. Related Art
In the past, multi-gigabit transceivers (MGTs) have not been included on programmable logic devices (PLDs) for various reasons, where a PLD is any IC which has programmable functions and programmable interconnections. However, commonly owned, copending U.S. patent application Ser. No. 10/090,250 filed on Mar. 1, 2002 entitled “High Speed Configurable Transceiver Architecture” by Suresh M. Menon et al., describes the manner in which MGTs can be included on a PLD, such as a field programmable gate array (FPGA). It would therefore be desirable to optimize the data paths between the core logic of a PLD and the MGTs located on the PLD.
PLD commonly includes one or more data paths, or collections of digital signals routed through the system during processing. The size of a collection, called the “data width” or “data path width” herein, depends on a number of factors. One factor in determining the data path width is the significance of the signals (i.e., the information that the signals represent, and the format of the signals). Another factor is the required speed of operation of the design. Yet another factor is the size constraints introduced by the design. Other factors may also possibly affect the data path width.
In some cases, it may be desirable to modify the width of a data path at some point in the design, changing the extent to which data is propagated in parallel. This may be necessary, for example, because of: different operating speeds in different portions of the design, or different constraints on the data width in different portions of the design. It may also be beneficial for this data width modification to be programmable and to be done dynamically.
It would therefore be desirable to have a PLD capable of implementing a variable-width data path.